(define (list-set lst n x)
    (cond 
        ((null? lst) `())
        ((zero? n) 
            (cons 
                x
                (list-set (cdr lst) (- n 1) x)
            )
        )
        (else 
            (cons
                (car lst)
                (list-set (cdr lst) (- n 1) x)
            )
        )
    )
)

(display 
    (list-set `(a b c d) 2 `(1 2))
)
